Computer programs are often made available about the same time in more than one version. The different versions of a computer program generally vary by the number of features made available to a user of the computer program. The most common way to install a given version of a computer program is to install the entire framework of that version of the computer program. Accordingly, when upgrading an already installed computer program, a successive installation usually replaces the existing computer program framework during the subsequent installation. This user process of upgrading an already installed computer program by replacing the currently installed program framework is inefficient.
There is a need for a more efficient system and method to provide a modified or upgraded computer program which offers a different set of features, without needing to replace the underlying framework of an already installed computer program.